home *** CD-ROM | disk | FTP | other *** search
- /*===========================================
- DolphMorph(ドルフモーフ)
-
- モーフィング&変形アニメ作成ソフト
-
- モーフィングアルゴリズム: EAST 1994
- インターフェース作成: 松内 良介 1994
- ===========================================*/
- #define MODULE_DESKTOP
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <winb.h>
- #include <te.h>
- #include <fntb.h>
- #include <gui.h>
- #include <ryosuke.h>
- #include <usrlib.h>
-
- #include "desktop.h"
- #include "points.h"
- #include "guisub.h"
- #include "imstore.h"
- #include "morphgo.h"
- #include "about.h"
- #include "movie.h"
- #include "alert.h"
- #include "movfile.h"
-
- /*--------------------------------------------------------*/
- /* 部品ID */
- /*--------------------------------------------------------*/
-
- int idBackDialog = -1 ;
- int idDesktopSelectiveHyper = -1 ;
- int idDesktopWinAttachHyper = -1 ;
- int idDesktopToolAttachHyper = -1 ;
- int idDesktopDialog = -1 ;
- int idDesktopMenu = -1 ;
- int idDesktopMItem_System = -1 ;
- int idDesktopSystemMenu = -1 ;
- int idDesktopSystemMenuItem[3] = -1 ;
- int idDesktopMItem_file = -1 ;
- int idDesktopFileMenu = -1 ;
- int idDesktopFileMItem[8] = -1 ;
- int idDesktopLoadImageMenu = -1 ;
- int idDesktopLoadImageMItem[4] = -1 ;
- int idDesktopSaveImageMenu = -1 ;
- int idDesktopSaveImageMItem[2] = -1 ;
- int idDesktopMItem_make = -1 ;
- int idDesktopMakeMenu = -1 ;
- int idDesktopMakeMItem[4] = -1 ;
- int idDesktopExitIcon = -1 ;
- int idDesktopClockMsg = -1 ;
- int idDesktopAlertHyper = -1 ;
- int idDesktopSkbIcon = -1 ;
-
- /*--------------------------------------------------------*/
- /* デスクトップメニューの選択可/不可を設定 */
- /*--------------------------------------------------------*/
-
- void desktop_checkActivity(void)
- {
- void setAct(int id, int flag)
- /* flag:0=可 0以外=不可 */
- {
- if (flag == 0)
- MTL_resetAtrObj(id, ~MS_INACTIVEL40); // 可
- else
- MTL_setAtrObj(id, MS_INACTIVEL40); // 不可
- }
- /* 「マーク画像保存」 */
- setAct(idDesktopSaveImageMItem[0], imstore_checkSaveMarkedImage());
- setAct(idDesktopSaveImageMItem[1], imstore_checkSaveFrameStore());
- /* 「操作点読み込み」メニューの可・不可 */
- setAct(idDesktopFileMItem[2], points_checkLoadPoints());
- /* 「操作点保存」メニューの可・不可 */
- setAct(idDesktopFileMItem[3], points_checkSavePoints());
- /* 「操作点クリア」メニューの可・不可 */
- setAct(idDesktopFileMItem[4], points_checkClearPoints());
- /* 「動画(MOV)保存」の可・不可 */
- setAct(idDesktopFileMItem[6], movfile_checkRec());
- /* 「モーフィング」「変形アニメ」*/
- setAct(idDesktopMakeMItem[0], morphgo_checkExecMorph(0));
- setAct(idDesktopMakeMItem[1], morphgo_checkExecMorph(1));
- /* 「動画再生」 */
- setAct(idDesktopMakeMItem[3], movie_checkPlay());
- }
-
- /*--------------------------------------------------------*/
- /* 部品からの呼び出し関数 */
- /*--------------------------------------------------------*/
-
- int DesktopSystemAboutFunc(void) /* idDesktopSystemMenuItem[0] */
- {
- about_display();
- return NOERR ;
- }
- /* idDesktopSystemMenuItem[1],idDesktopExitIcon */
- int DesktopExitFunc(void)
- {
- if (dispCheckMessage("終了", "DolphMorph を終了します。"
- "よろしいですか?", "終了") == 0)
- MMI_SetHaltFlag(TRUE);
- return NOERR ;
- }
-
- int DesktopSkbFunc(void) /* idDesktopSkbIcon */
- {
- MMI_DspSkb();
- return NOERR ;
- }
- /* idDesktopLoadImageMItem[0],[1],[2],[3] */
- int DesktopFileLoadImageFunc(int kobj, int messId)
- {
- if (kobj == idDesktopLoadImageMItem[0])
- points_loadImage(0); // 操作点設定ウィンドウのA側へ静止画ロード
- else if (kobj == idDesktopLoadImageMItem[1])
- points_loadImage(1); // 操作点設定ウィンドウのB側へ静止画ロード
- else if (kobj == idDesktopLoadImageMItem[2])
- imstore_loadToStore(0);
- else if (kobj == idDesktopLoadImageMItem[3])
- imstore_loadToStore(1);
- desktop_checkActivity();
- return NOERR ;
- }
- /* idDesktopSaveImageMItem[0],[1] */
- int DesktopFileSaveImageFunc(int kobj, int messId)
- {
- if (kobj == idDesktopSaveImageMItem[0])
- imstore_saveMarkedImage();
- else if (kobj == idDesktopSaveImageMItem[1])
- imstore_saveFrameStore();
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopLoadPointsFunc(void) /* idDesktopFileMItem[2] */
- {
- points_loadPoints();
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopSavePointsFunc(void) /* idDesktopFileMItem[3] */
- {
- points_savePoints();
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopClearPointsFunc(void) /* idDesktopFileMItem[4] */
- {
- points_clearPoints();
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopFileMovieLoadFunc(void) /* idDesktopFileMItem[4] */
- {
- return NOERR ;
- }
-
- /* initDataZDESKTOP:idDesktopFileMItem[6]:MJ_MITEML40の呼び出し関数 */
- int DesktopMovSaveFunc(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- movfile_rec();
- desktop_checkActivity();
- return NOERR ;
- }
-
- /* initDataZDESKTOP:idDesktopFileMItem[7]:MJ_MITEML40の呼び出し関数 */
- int DesktopMovPlayFunc(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- movfile_play();
- desktop_checkActivity();
- return NOERR ;
- }
-
- #if 0
- /* idDesktopFileMItem[5] */
- int DesktopFileMovieSaveFunc(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- imstore_saveFrameStoreAsMovieFile();
- return NOERR ;
- }
- #endif
-
- int DesktopMakeMorphFunc(void) /* idDesktopMakeMItem[0] */
- {
- morphgo_execMorph(0);
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopMakeTransformFunc(void) /* idDesktopMakeMItem[1] */
- {
- morphgo_execMorph(1);
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopMoviePlayFunc(void) /* idDesktopMovieMItem[0] */
- {
- movie_play();
- desktop_checkActivity();
- return NOERR ;
- }
-
- int DesktopOtherInfoFunc(void) /* idDesktopOtherMItem[0] */
- {
- return NOERR ;
- }
-
- /* [end] */
-